home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_01_02 / 1n02037a < prev    next >
Text File  |  1990-07-08  |  898b  |  49 lines

  1.  
  2. const
  3.     JAN = 1; DEC = 12;
  4.     WEEKS_PER_MONTH = 6;
  5.     SUN = 1; SAT = 7;
  6.  
  7. type
  8.     monthly_calendar =
  9.         array [1..WEEKS_PER_MONTH, SUN..SAT] of integer;
  10.     annual_calendar
  11.         = array [JAN..DEC] of monthly_calendar;
  12.  
  13. {*
  14.  * write a monthly calendar
  15.  *}
  16. procedure write_monthly(var cal : monthly_calendar);
  17.     var
  18.         d, w : integer;
  19.     begin
  20.     for w := 1 to WEEKS_PER_MONTH do
  21.         begin
  22.         for d := SUN to SAT do
  23.             if cal[w, d] > 0 then
  24.                 write(cal[w, d]:4)
  25.             else
  26.                 write(' ':4);
  27.         writeln;
  28.         end;
  29.     end;
  30.  
  31. {*
  32.  * return the number of week days in a month
  33.  *}
  34. function monthly_week_days(var cal : monthly_calendar)
  35.         : integer;
  36.     var
  37.         d, w, sum : integer;
  38.     begin
  39.     sum := 0;
  40.     for w := 1 to WEEKS_PER_MONTH do
  41.         for d := SUN + 1 to SAT - 1 do
  42.             if cal[w, d] > 0 then
  43.                 sum := sum + 1;
  44.     monthly_week_days := sum;
  45.     end;
  46.  
  47. Listing 1 - Calendars in Pascal using Constants
  48.  
  49.